package com.nbteam.killer.helper.enums;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum RoleEnum {

    PING_MING("平民", "分析其他玩家发言，认真地投出每一票，直到驱逐所有狼人。", true, ""),
    LANG_REN("狼人", "每天夜里可以杀死一个人。", false, ""),
    YU_YAN_JIA("预言家", "每天晚上可以查验一名玩家的身份是好人还是狼人。", true, ""),
    LIE_REN("猎人", "当且仅当猎人被狼人杀害或被投票放逐时，猎人可以亮出自己的身份牌并指定枪杀一名玩家，被女巫毒杀则无法发动技能。", true, ""),
    NV_WU("女巫", "女巫拥有两瓶药，解药可以救活一名当晚被狼人杀害的玩家，毒药可以毒杀一名玩家，女巫每天晚上最多使用一瓶药，女巫不可自救。", true, ""),
    SHOU_WEI("守卫", "每晚守卫暗中指定一个玩家，该玩家当晚会受到保护，不会被狼人杀害，守卫不能连续两晚守卫同一个人，守卫可以守卫自己。（注：官方或部分规定若女巫的救人与守卫守护的人为同一人，则判定该位玩家因同守同救而死亡）", true, ""),
    BAI_CHI("白痴", "白痴若是被投票出局，可以翻开自己的身份牌，免疫此次放逐，之后可以正常发言，但不能投票，狼人仍需要击杀他一次才能让他死亡。但若是白痴因非投票原因死亡，则无法发动技能，立即死亡。", true, ""),
    QIU_BI_TE("丘比特", "第一个晚上，选择两名玩家成为情侣。丘比特可以选择自己成为情侣之一，如果情侣里有一个人不幸落难，另一个则会为之殉情。如果情侣之中两人分别属于不同阵营，则他们的游戏目标就会改变成这对情侣只想平静地生活下去，所以他们必须除掉所有其他的玩家。（注：部分局规定情侣死亡则丘比特回归神阵营，部分局则规定不回归神阵营）", true, ""),
    LAO_LIU_MANG("老流氓", "老流氓是平民牌，不被魅惑。在被撒毒或者射杀后分别进入中毒和负伤状态，当天不会死亡，在第二天发言结束后死亡。", true, ""),
    ZHA_DAN_REN("炸弹人", "白天被投票放逐后，所有给他上票的玩家全部死亡，其他方式死亡无法发动技能如炸弹人被放逐时炸死场上所有人，则炸弹人单独获得胜利。", true, ""),
    YE_HAI_ZI("野孩子", "野孩子从小被狼养大，在被好心的村里人收养后野性也渐渐平息。第一天晚上，野孩子醒来并选择一个榜样，之后的游戏中当榜样以任何形式死亡时，野孩子因为榜样的死亡而丧失人性，成为一个狼人。从这时开始野孩子成为狼人阵营，每天晚上和狼人一起行动，胜利目标也和狼人相同。", true, ""),
    ZHOU_HU("咒狐", "咒狐被狼人刀不会死亡，被预言家查验则会死亡、", false, ""),
    HEI_LANG_WANG("黑狼王", "", false, ""),
    QI_SHI("骑士", "骑士深知圣光之道，以圣洁的心灵而闻名，不接受任何污蔑和诋毁。骑士可以在白天投票前翻开自己的身份牌并指定一个玩家，若是狼人，则此玩家立刻死亡，然后直接进入黑夜，若不是，则骑士以死谢罪，投票继续。这个技能只能发动一次。", true, ""),
    LANG_MEI_REN("狼美人", "狼美人是狼人阵营，在夜里可以魅惑一人，天亮后，如果狼美人被放逐出局或者被猎人射杀，被魅惑的玩家跟随狼美人一起出局，且无技能。狼美人不能自爆、自刀。（被魅惑的玩家不知情）", false, ""),
    SHI_XIANG_GUI("石像鬼", "狼人阵营，不进狼窝，不能自爆，每晚可以查验一名玩家的具体身份，当所有普通狼人出局后石像鬼带刀，拥有刀人能力。", false, ""),
    DAO_ZEI("盗贼", "上帝从所有身份牌中随机抽取两张，并将其他身份牌正常发放。第一晚盗贼最先睁眼，上帝向他展示这两张身份牌，盗贼从中选择一张作为自己的身份，另一张则作废。若两张身份牌中存在狼人，则盗贼必须选择狼人。", false, ""),
    QI_JI_SHANG_REN("奇迹商人", "奇迹商人在每夜第一个行动，选择一名其他玩家成为幸运儿，使其获得三个一次性技能中的一个：预言家的查验、女巫的毒或者守卫的守护，每局游戏限一次。若幸运儿是狼人，则他不会获得技能，且次日奇迹商人出局。", true, ""),
    MENG_YAN("梦魇", "", false, ""),
    BAI_LANG_WANG("白狼王", "属于狼人阵营，白狼王可以在白天自爆的时候，选择带走一名玩家，非自爆出局不得发动技能。", false, ""),
    MO_SHU_SHI("魔术师", "在夜间先手行动，每晚都可以交换2个没换过的人的号码牌，仅当晚有效。在当晚这两位玩家的技能结算结果将会被交换。", true, ""),
    CHUN_BAI_ZHI_NV("纯白之女", "每晚可以查验场上一名玩家的具体身份，并且从第二夜起，纯白之女查验到狼人，则狼人死亡。", true, ""),
    LANG_WU("狼巫", "每晚可以查验场上除狼人阵营外的一名玩家的具体身份，且从第二夜起，狼巫验到纯白之女，则纯白之女死亡。", true, ""),
    QIAN_XING_ZHE("潜行者", "", true, ""),
    JIN_YAN_ZHANG_LAO("禁言长老", "", true, ""),
    AN_LIAN_ZHE("暗恋者", "", false, ""),
    E_MENG_ZHI_YING("噩梦之影", "", false, ""),
    ZHU_SHI_LANG_FEI("蚀时狼妃", "", false, ""),
    SHE_MENG_REN("摄梦人", "", false, ""),
    WU_YA("乌鸦", "", false, ""),
    SHI_NV("侍女","",true,""),
    BO_JUE("伯爵","",true,""),
    E_LING_QI_SHI("恶灵骑士","",false,""),

    LANG("狼", "", true, ""),
    MEI("美", "", true, ""),
    YANG_TUO("羊驼", "", true, ""),
    BAI_MAO("白猫", "", true, ""),
    HE_TUN("河豚", "", true, ""),
    ZI_HU("子狐", "", true, ""),
    XIONG("熊", "", true, ""),

    LANG_LANG("狼狼", "", true, ""),
    HOU_LANG("厚狼", "", true, "");

    /**
     * 名称
     */
    String code;

    /**
     * 描述
     */
    String description;

    /**
     * 是否好人
     */
    boolean isGoodMan;

    /**
     * 角色卡片照片地址
     */
    String picUrl;
}
